package com.quan.site.service;

import com.quan.commons.core.MyBaseService;
import com.quan.commons.utils.PageUtils;
import com.quan.site.commons.vo.SiteNavVo;
import com.quan.site.entity.SiteNav;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;

/**
 * 系统-菜单
 *
 * @author yhaoquan
 * @email yhaoquan@163.com
 * @date 2023-07-26 16:47:27
 */
public interface SiteNavService extends MyBaseService<SiteNav> {

    public SiteNavVo getInfo(Long id);

    public boolean deleteByIds(Collection<? extends Serializable> idList);

    /**
     * 列表查询
     *
     * @param vo
     * @return
     */
    public List<SiteNavVo> queryList(PageUtils pageUtils, SiteNavVo vo);

    /**
     * 分页查询
     *
     * @param pageUtils
     * @param vo
     * @return
     */
    public PageUtils queryPage(PageUtils pageUtils, SiteNavVo vo);

    /**
     * 菜单树形结构数据
     *
     * @param vo
     * @return
     */
    public List<SiteNavVo> listWithTree(SiteNavVo vo);

    /**
     * 根据子节点找到完整的父节点路径
     *
     * @param id
     * @return
     */
    public Long[] findPath(Long id);
}

